from playwright.sync_api import Page
import allure


# pytest --headed --slowmo=1000 --browser=chromium --screenshot=on --video=on --alluredir=./allure-results ./demo/07_screenshot_video_allure.py
# --headed 有头模式运行（显示打开浏览器）
# --slowmo=1000 停顿时间1s
# --browser=chromium 使用谷歌浏览器（默认的）
# --screenshot=on 是否开启截图，on, off, only-on-failure, 默认是off，输出在--output配置的目录中（默认是test-results）
# --video=on 是否开启视频录制，on, off, retain-on-failure，默认是off，输出在--output配置的目录中（默认是test-results）
# --tracing=on 是否开启追踪，on, off, retain-on-failure，默认是off，输出在--output配置的目录中（默认是test-results）
# --alluredir=./allure-results 指定allure报告的输出结果的位置

def test_login(page: Page) -> None:

    allure.dynamic.feature("xxx系统测试")
    allure.dynamic.story("登录登出")
    allure.dynamic.title("用户登录")

    login_url = "http://127.0.0.1:34009/xxl-job-admin/toLogin"
    username = "admin"
    password = "123456"

    with allure.step(f"打开登录网址:{login_url}"):
        page.goto(login_url)

    with allure.step(f"输入账号:{username}"):
        page.get_by_placeholder("请输入登录账号").click()
        page.get_by_placeholder("请输入登录账号").fill(username)

    with allure.step(f"输入密码:{password}"):
        page.get_by_placeholder("请输入登录密码").click()
        page.get_by_placeholder("请输入登录密码").fill(password)

    with allure.step("点击登录"):
        page.get_by_role("button", name="登录").click()
